<?php
/**
 * Created by PhpStorm.
 * User: sunzexin
 * Date: 2018/1/20
 * Time: 16:08
 */

/***********************小程序接口，需要接口鉴权 **************************/
Route::group(['middleware' => ['auth', 'interface_handle'], 'namespace' => 'MiniProgram'], function () {

    /** User用户接口 **/
    // 用户关注咖啡馆
    Route::any('/user/followCafe', 'UserController@followCafe');
    // 用户关注城市
    Route::any('/user/followCity', 'UserController@followCity');
    // 用户关注标签
    Route::any('/user/followMark', 'UserController@followMark');
    // 获取登录用户的信息
    Route::get('/user/info', 'UserController@getUserInfo');
    // 一间咖啡馆用户获取菜单
    Route::get('/user/getYiiccaMenu', 'UserController@getYiiccaMenu');
    // 给用户设置菜单
    Route::post('/user/setMenu', 'UserController@setUserMenu');
    // 用户获取代金券
    Route::post('/user/getCashCoupon', 'UserController@getCashCoupon');
    // 获取用户的代金券列表
    Route::get('/user/getCashCouponList', 'UserController@getUserCashCouponList');
    // 获取用户参加的活动列表
    Route::get('/user/getPartyList', 'UserController@getUserPartyList');
    // 获取用户关注的咖啡馆列表
    Route::get('/user/getFollowedCafeList', 'UserController@getFollowedCafeList');
    // 获取用户分享的咖啡馆列表
    Route::get('/user/getSharedCafeList', 'UserController@getSharedCafeList');
    // 获取用户关注的城市的列表
    Route::get('/user/getFollowedCityList', 'UserController@getFollowedCityList');
    // 获取用户关注的标签的列表
    Route::get('/user/getFollowedMarkList', 'UserController@getFollowedMarkList');
    // 用户初始化
    Route::post('/user/setInit', 'UserController@setUserInit');
    // 用户点赞动态
    Route::post('/user/praiseDynamic', 'UserController@praiseDynamic');
    // 获取赞过的动态列表
    Route::get('/user/getPraiseDynamicList', 'UserController@getPraiseDynamicList');
    // 获取别人给的赞
    Route::get('/user/getPraiseList', 'UserController@getPraiseList');
    // 获取用户的评论列表
    Route::get('/user/getDynamicCommentList', 'UserController@getDynamicCommentList');
    // 获取别人对我动态的评论
    Route::get('/user/getCommentList', 'UserController@getCommentList');
    // 获取未读的别人给的赞的数量
    Route::get('/user/getUnreadPraiseCount', 'UserController@getUnreadPraiseCount');
    // 获取未读的别人评论的数量
    Route::get('/user/getUnreadCommentCount', 'UserController@getUnreadCommentCount');
    // 获取未读的通知数量
    Route::get('/user/getUnreadSystemNotifyCount', 'UserController@getUnreadSystemNotifyCount');
    // 获取用户详情
    Route::get('/user/detail', 'UserController@getUserDetail');

    /**  咖啡馆接口 **/
    // 创建咖啡馆
    Route::any('/cafe/create', 'CafeController@createCafe');
    // 更新咖啡馆
    Route::any('/cafe/update', 'CafeController@updateCafe');
    // 获取咖啡馆wifi信息
    Route::get('/cafe/getWifi', 'CafeController@getCafeWifi');
    // 获取咖啡馆所有图片
    Route::get('/cafe/photo', 'CafeController@getCafePhoto');
    // 更新咖啡馆图片
    Route::post('/cafe/updatePhoto', 'CafeController@updateCafePhoto');
    // 获取咖啡馆详情
    Route::get('/cafe/detail', 'CafeController@getCafeDetail');
    // 设置咖啡馆视频
    Route::post('/cafe/createVideo', 'CafeController@createCafeVideo');
    // 获取咖啡馆视频详情
    Route::get('/cafe/getVideoList', 'CafeController@getCafeVideoList');
    // 更新咖啡馆视频
    Route::post('/cafe/updateVideo', 'CafeController@updateCafeVideo');
    // 删除咖啡馆视频
    Route::post('/cafe/deleteVideo', 'CafeController@deleteCafeVideo');


    /**
     * City城市接口
     */
    // 城市管理员详情
    Route::any('/citymanager/detail', 'CityManagerController@detail');
    // 新接口 城市详情
    Route::any('/city/detail2', 'CityManagerController@cityDetail');
    Route::any('/city/update', 'CityManagerController@cityUpdate');


    /**
     * 规格接口
     */
    // 添加规格
    Route::any('standard/create', 'StandardController@createStandard');


    /**
     * 规格值接口
     */
    // 添加规格值
    Route::any('standardValue/create', 'StandardValueController@createStandardValue');


    /**
     * PartyPhoto活动图片接口
     */
    // 获取活动图片
    Route::any('/partyPhoto/list', 'PartyPhotoController@getPartyPhotoList');
    // 更新活动图片
    Route::any('/partyPhoto/update', 'PartyPhotoController@updatePartyPhoto');

    /**
     * Party活动接口
     */
    // 添加活动
    Route::any('/party/create', 'PartyController@createParty');
    // 一间咖啡馆平台添加活动
    Route::any('/party/create2', 'PartyController@createParty2');
    // 更新活动
    Route::any('/party/update', 'PartyController@updateParty');
    // 一间咖啡馆平台更新活动
    Route::any('/party/update2', 'PartyController@updateParty2');
    // 删除活动
    Route::any('/party/delete', 'PartyController@deleteParty');
    // 活动报名
    Route::post('party/signUp', 'PartyController@signUp');


    /**
     * 咖啡馆标签接口
     */
    // 添加咖啡馆标签
    Route::post('/mark/create', 'MarkController@createMark');


    /**
     *验证码接口
     */
    // 创建验证码
    Route::post('/captcha/create', 'CaptchaController@createCaptcha');
    // 验证验证码
    Route::post('/captcha/verify', 'CaptchaController@verifyCaptcha');

    /**
     * VIP卡接口
     */
    // 创建VIP卡
    Route::post('/vipCard/create', 'VipCardController@createVipCard');
    // 更新VIP卡
    Route::post('/vipCard/update', 'VipCardController@updateVipCard');
    // 删除VIP卡
    Route::post('/vipCard/delete', 'VipCardController@deleteVipCard');



    // 获取用户VIP卡
    Route::get('/vipCard/getUser', 'VipCardController@getUserVipCard');


    /**
     * VIP接口
     */
    // 创建VIP
    Route::post('/vip/create', 'VipController@createVip');
    // 获取VIP列表
    Route::get('/vip/list', 'VipController@getVipList');

    /**
     * PartyCategory活动分类接口
     */
    // 创建活动分类
    Route::post('/partyCategory/create', 'PartyCategoryController@createPartyCategory');
    // 获取活动分类详情
    Route::get('/partyCategory/detail', 'PartyCategoryController@getPartyCategoryDetail');
    // 更新活动分类
    Route::post('/partyCategory/update', 'PartyCategoryController@updatePartyCategory');
    // 删除活动分类
    Route::post('/partyCategory/delete', 'PartyCategoryController@deletePartyCategory');

    /**
     * Menu菜单接口
     */
    // 通过菜单ID字符串获取菜单
    Route::get('/menu/getByMenuId', 'MenuController@getMenuByMenuId');
    // 咖啡馆小程序用户的菜单
    Route::get('/menu/getMiniProgram', 'MenuController@getUserMiniProgramMenu');

    /**
     * VIPCardRule会员卡规则接口
     */
    // VIP卡规则列表
    Route::get('/vipCardRule/list', 'VipCardRuleController@getVipCardRuleList');

    /**
     * PartnerMessage合作者留言接口
     */
    Route::post('/partnerMessage/create', 'PartnerMessageController@createPartnerMessage');

    /**
     * Role角色接口
     */
    // 给用户分配城市管理员角色
    Route::post('/role/setUserCity', 'RoleController@setUserCityRole');
    // 给用户分配咖啡馆主角色
    Route::post('/role/setUserCafe', 'RoleController@setUserCafeRole');
    // 给用户分配咖啡馆主角色
    Route::post('/role/setUserPartner', 'RoleController@setUserPartnerRole');

    /**
     * UserFormId接口
     */
    Route::post('/userFormId/create', 'UserFormIdController@createUserFormId');

    /**
     * Feedback接口
     */
    // 创建反馈
    Route::post('/feedback/create', 'FeedbackController@createFeedback');
    // 获取反馈列表
    Route::get('/feedback/list', 'FeedbackController@getFeedbackList');

    /**
     * Recruitment接口
     */
    // 获取所有下拉菜单列表接口
    Route::get('/recruitment/getSelectList', 'RecruitmentController@getSelectList');
    // 创建招聘信息
    Route::post('/recruitment/create', 'RecruitmentController@createRecruitment');
    // 更新招聘信息
    Route::post('/recruitment/update', 'RecruitmentController@updateRecruitment');
    // 改变招聘信息显示状态
    Route::post('/recruitment/changeStatus', 'RecruitmentController@changeStatus');
    // 删除招聘信息
    Route::post('/recruitment/delete', 'RecruitmentController@deleteRecruitment');

    /**
     * Dynamic动态接口
     */
    // 发布图文动态
    Route::post('/dynamic/createPhoto', 'DynamicController@createPhotoDynamic');
    // 发布视频动态
    Route::post('/dynamic/createVideo', 'DynamicController@createVideoDynamic');

    /**
     * DynamicComment动态评论接口
     */
    // 发布评论
    Route::post('/dynamicComment/create', 'DynamicCommentController@createDynamicComment');


    /**
     * Train培训接口
     */
    // 发布培训
    Route::post('/train/create', 'TrainController@createTrain');
    // 更新培训
    Route::post('/train/update', 'TrainController@updateTrain');
    // 删除培训
    Route::post('/train/delete', 'TrainController@deleteTrain');
    // 改变培训信息状态
    Route::post('/train/changeStatus', 'TrainController@changeStatus');

    /**
     * 培训内容接口
     */
    // 创建培训内容
    Route::post('/trainContent/update', 'TrainContentController@updateTrainContent');
    // 培训内容详情
    Route::get('/trainContent/detail', 'TrainContentController@getTrainContentDetail');

    /**
     * DianBo云点播接口
     */
    // 上传视频
    Route::post('dianBo/uploadVideo', 'DianBoController@uploadVideo');

    /**
     * PartyContent活动内容接口
     */
    // 创建活动内容
    Route::post('/partyContent/update', 'PartyContentController@updatePartyContent');
    // 活动内容详情
    Route::get('/partyContent/detail', 'PartyContentController@getPartyContentDetail');


    /**
     * Cart购物车接口
     */
    // 添加购物车
    Route::post('/cart/create', 'CartController@createCart');
    // 删除购物车
    Route::post('/cart/delete', 'CartController@deleteCart');
    // 购物车列表
    Route::get('/cart/list', 'CartController@getCartList');
    // 改变购物车商品数量
    Route::post('/cart/changeNum', 'CartController@changeCartNum');

    /**
     * Order订单接口
     */
    // 创建订单
    Route::post('/order/create', 'OrderController@createOrder');
    // 订单详情
    Route::get('/order/detail', 'OrderController@getOrderDetail');
    // 支付订单
    Route::post('/order/pay', 'OrderController@pay');
    // 订单列表
    Route::get('/order/list', 'OrderController@getOrderList');
    // 订单物流查询
    Route::get('/order/wlcx', 'OrderController@wlcx');
    // 确认收货
    Route::post('/order/confirmReceive', 'OrderController@confirmReceive');
    // 直接购买
    Route::post('/order/directBuy', 'OrderController@directBuy');
    // 取消订单
    Route::post('/order/cancel', 'OrderController@cancelOrder');

    /**
     * Address地址接口
     */
    // 地址列表
    Route::get('/address/list', 'AddressController@getAddressList');
    // 删除地址
    Route::post('/address/delete', 'AddressController@deleteAddress');
    // 创建地址
    Route::post('/address/create', 'AddressController@createAddress');
    // 更新地址
    Route::post('/address/update', 'AddressController@updateAddress');
    // 改变默认地址
    Route::post('/address/changeDefault', 'AddressController@changeDefault');
});

/*********** 小程序不需要鉴权的接口 ***************/
Route::group(['namespace' => 'MiniProgram', 'middleware' => ['interface_handle']], function () {
    /**
     * User用户接口
     */
    // 小程序登录接口
    Route::any('/appUser/login', 'UserController@onLogin');


    // Swagger文档中心
    Route::get('/swagger/doc', 'SwaggerController@doc');


    /**  咖啡馆接口 **/
    // 推荐咖啡馆
    Route::get('/cafe/recommend', 'CafeController@recommend');
    // 获取某一个咖啡馆信息
    Route::get('/cafe/info', 'CafeController@getCafeInfo');
    // 获取咖啡馆详情
    Route::any('/cafe/detail', 'CafeController@getCafeDetail');
    // 获取最新咖啡馆列表
    Route::get('/cafe/getLatestList', 'CafeController@getLatestCafeList');
    // 获取附近的咖啡馆
    Route::any('/cafe/nearby', 'CafeController@nearbyCafe');
    // 通过标签ID获取咖啡馆列表
    Route::get('/cafe/getListByMarkId', 'CafeController@getCafeListByMarkId');
    // 生成咖啡馆海报
    Route::get('/cafe/createPoster', 'CafeController@createCafePoster');
    // 获取咖啡馆LOGO
    Route::get('/cafe/getLogo', 'CafeController@getCafeLogo');
    // 获取咖啡馆列表
    Route::get('/cafe/list', 'CafeController@getCafeList');
    // 获取每日推荐咖啡馆
    Route::get('/cafe/everydayRecommend', 'CafeController@getEverydayRecommend');
    // 更新咖啡馆标签
    Route::post('/cafe/updateMark', 'CafeController@updateCafeMark');
    // 获取推荐列表
    Route::get('/cafe/getRecommendList', 'CafeController@getRecommendList');
    // 获取最近上线的咖啡馆
    Route::get('/cafe/recent', 'CafeController@getRecentCafe');

    /**
     * PartyCategory活动分类接口
     */
    // 获取活动分类列表
    Route::get('/partyCategory/list', 'PartyCategoryController@getPartyCategoryList');


    /**
     * EntryMenu首页入口接口
     */
    // 获取首页入口列表
    Route::get('/entryMenu/list', 'EntryMenuController@getEntryMenuList');

    /**
     * Party活动接口
     */
    // 获取活动列表
    Route::get('/party/list', 'PartyController@getPartyList');
    // 一间咖啡馆平台获取活动列表
    Route::get('/party/list2', 'PartyController@getPartyList2');
    // 获取活动详情
    Route::get('/party/detail', 'PartyController@getPartyDetail');
    // 一间咖啡馆平台获取活动详情
    Route::get('/party/detail2', 'PartyController@getPartyDetail');
    // 获取活动普通列表
    Route::get('/party/normalList', 'PartyController@getPartyNormalList');


    /**
     * Swiper轮播图接口
     */
    Route::get('/swiper/list', 'SwiperController@getSwiperList');

    /**
     * VipCard会员卡接口
     */

    // 获取VIP卡列表
    Route::get('/vipCard/list', 'VipCardController@getVipCardList');
    // 获取会员卡详情
    Route::get('/vipCard/detail', 'VipCardController@getVipCardDetail');

    /**
     * Mark标签接口
     */
    // 获取咖啡馆标签列表
    Route::get('/mark/list', 'MarkController@getMarkList');
    // 通过城市编码获取到使用最多的标签列表
    Route::get('/mark/getMostList', 'MarkController@getMostMarkList');
    // 获取标签详情
    Route::get('/mark/detail', 'MarkController@getMarkDetail');


    /**
     * Article文章接口
     */
    Route::post('/wechatArticle/push', 'WechatArticleController@pushArticle');

    /**
     * PartnerMessage合作者留言接口
     */
    // 获取留言列表
    Route::get('/partnerMessage/getList', 'PartnerMessageController@getPartnerMessageList');
    // 获取留言详情
    Route::get('/partnerMessage/getDetail', 'PartnerMessageController@getPartnerMessageDetail');

    /**
     * City城市接口
     */
    // 获取推荐城市列表
    Route::get('/city/recommend', 'CityController@recommend');
    // 获取城市列表
    Route::get('/city/list', 'CityController@getCityList');
    // 获取城市详情
    Route::get('/city/detail', 'CityController@getCityDetail');
    // 搜索城市
    Route::get('/city/search', 'CityController@searchCity');

    /**
     * CashCoupon代金券列表
     */
    // 获取代金券列表
    Route::any('/cashCoupon/list', 'CashCouponController@getCashCouponList');
    // 获取代金券分享海报
    Route::get('/cashCoupon/createPoster', 'CashCouponController@createCashCouponPoster');
    // 代金券详情
    Route::get('/cashCoupon/detail', 'CashCouponController@getCashCouponDetail');


    /**
     * District地区接口
     */
    // 获取区域列表
    Route::any('/district/getList', 'DistrictController@getDistrictList');

    // 验证是否登录
    Route::post('/user/checkLogin', 'UserController@checkLogin');

    /**
     * Article文章接口
     */
    // 获取文章列表
    Route::get('/article/list', 'ArticleController@getArticleList');
    // 文章详情
    Route::get('/article/detail', 'ArticleController@getArticleDetail');

    /**
     * Partner
     */
    // 获取合作者列表
    Route::get('/partner/list', 'PartnerController@getPartnerList');
    // 获取合作者详情
    Route::get('/partner/getDetailById', 'PartnerController@getPartnerDetailById');

    /**
     * Recruitment招聘接口
     */
    // 获取招聘列表接口
    Route::get('/recruitment/list', 'RecruitmentController@getRecruitmentList');
    // 获取招聘信息详情
    Route::get('/recruitment/detail', 'RecruitmentController@getRecruitmentDetail');

    /**
     * Dynamic动态接口
     */
    // 动态列表
    Route::get('/dynamic/list', 'DynamicController@getDynamicList');
    // 动态详情
    Route::get('/dynamic/detail', 'DynamicController@getDynamicDetail');

    /**
     * DynamicComment动态评论接口
     */
    // 评论列表
    Route::get('/dynamicComment/list', 'DynamicCommentController@getDynamicCommentList');

    /**
     * Train培训接口
     */
    // 培训列表
    Route::get('/train/list', 'TrainController@getTrainList');
    // 培训详情
    Route::get('/train/detail', 'TrainController@getTrainDetail');

    /**
     * Category分类接口
     */
    // 分类列表
    Route::get('/category/list', 'CategoryController@getCategoryList');
    // 获取分类的兄弟分类列表
    Route::get('/category/brotherList', 'CategoryController@getBrotherCategoryList');

    /**
     * Standard规格接口
     */
    // 规格列表
    Route::get('/standard/list', 'StandardController@getStandardList');

    /**
     * SystemNotify系统通知接口
     */
    // 系统通知列表
    Route::get('/systemNotify/list', 'SystemNotifyController@getSystemNotifyList');

    /**
     * Tag货品标签接口
     */
    // 获取标签列表
    Route::get('/tag/list', 'TagController@getTagList');
    // 获取标签的兄弟标签列表
    Route::get('/tag/brotherList', 'TagController@getBrotherTagList');

    /**
     * Product货品接口
     */
    // 获取货品详情
    Route::get('/product/detail', 'ProductController@getProductDetail');
    // 获取列表
    Route::get('/product/list', 'ProductController@getProductList');
    // 搜索货品
    Route::get('/product/search', 'ProductController@search');

    // 支付成功回调函数
    Route::post('/order/paySuccess', 'OrderController@paySuccess');

    // 微信小程序支付异步回调函数
    Route::post('/order/callback', 'OrderController@callback');
});